home *** CD-ROM | disk | FTP | other *** search
/ Aminet 33 / Aminet 33 - October 1999.iso / Aminet / dev / cross / ava-0.2.5.lha / ava-0.2.5 / avalib / avr / M603def.inc < prev   
Encoding:
Text File  |  1999-03-23  |  8.2 KB  |  424 lines

  1. ;***************************************************************************
  2. ;* A P P L I C A T I O N   N O T E   F O R   T H E   A V R   F A M I L Y
  3. ;* 
  4. ;* Number        :AVR000
  5. ;* File Name        :"M603def.inc"
  6. ;* Title        :Register/Bit Definitions for the ATM603
  7. ;* Date                 :98.05.22
  8. ;* Version              :1.22
  9. ;* Target MCU        :ATM603
  10. ;*
  11. ;* DESCRIPTION
  12. ;* When including this file in the assembly program file, all I/O register    
  13. ;* names and I/O register bit names appearing in the data book can be used.
  14. ;* In addition, the six registers forming the three data pointers X, Y and
  15. ;* Z have been assigned names XL - ZH. Highest RAM address for Internal 
  16. ;* SRAM is also defined 
  17. ;*
  18. ;* The Register names are represented by their hexadecimal address.
  19. ;* 
  20. ;* The Register Bit names are represented by their bit number (0-7).
  21. ;* 
  22. ;* Please observe the difference in using the bit names with instructions
  23. ;* such as "sbr"/"cbr" (set/clear bit in register) and "sbrs"/"sbrc" 
  24. ;* (skip if bit in register set/cleared). The following example illustrates
  25. ;* this:
  26. ;* 
  27. ;* in    r16,PORTB        ;read PORTB latch
  28. ;* sbr    r16,(1<<PB6)+(1<<PB5)    ;set PB6 and PB5 (use masks, not bit#)
  29. ;* out  PORTB,r16        ;output to PORTB
  30. ;*
  31. ;* in    r16,TIFR        ;read the Timer Interrupt Flag Register
  32. ;* sbrc    r16,TOV0        ;test the overflow flag (use bit#)
  33. ;* rjmp    TOV0_is_set        ;jump if set
  34. ;* ...                ;otherwise do something else
  35. ;***************************************************************************
  36.  
  37. ;***** I/O Register Definitions
  38. #define    SREG     $3f
  39. #define    SPH     $3e
  40. #define    SPL     $3d
  41. #define    XDIV     $3c
  42. #define    RAMPZ    $3b
  43. #define    EICR     $3a
  44. #define    EIMSK     $39
  45. #define    EIFR     $38
  46. #define    TIMSK     $37
  47. #define    TIFR     $36
  48. #define    MCUCR     $35
  49. #define    MCUSR    $34
  50.  
  51. #define    TCCR0     $33
  52. #define    TCNT0     $32
  53. #define    OCR0     $31
  54. #define    ASSR0    $30
  55.  
  56. #define    TCCR1A     $2f
  57. #define    TCCR1B     $2e
  58. #define    TCNT1H     $2d
  59. #define    TCNT1L     $2c
  60. #define    OCR1AH     $2b
  61. #define    OCR1AL     $2a
  62. #define    OCR1BH     $29
  63. #define    OCR1BL     $28
  64. #define    ICR1H     $27
  65. #define    ICR1L     $26
  66.  
  67. #define    TCCR2    $25
  68. #define    TCNT2    $24
  69. #define    OCR2     $23
  70. #define    WDTCR     $21
  71.  
  72. #define    EEARH     $1f
  73. #define    EEARL     $1e
  74. #define    EEDR     $1d
  75. #define    EECR     $1c
  76.  
  77. #define    PORTA     $1b
  78. #define    DDRA     $1a
  79. #define    PINA     $19
  80. #define    PORTB     $18
  81. #define    DDRB     $17
  82. #define    PINB     $16
  83. #define    PORTC     $15
  84. #define    PORTD     $12
  85. #define    DDRD     $11
  86. #define    PIND     $10
  87.  
  88. #define    SPDR     $0f
  89. #define    SPSR     $0e
  90. #define    SPCR     $0d
  91. #define    UDR     $0c
  92. #define    USR     $0b
  93. #define    UCR     $0a
  94. #define    UBRR     $09
  95. #define    ACSR     $08
  96. #define    ADMUX    $07
  97. #define    ADCSR    $06
  98. #define    ADCH     $05
  99. #define    ADCL     $04
  100. #define    PORTE    $03
  101. #define    DDRE     $02
  102. #define    PINE     $01
  103. #define    PINF     $00
  104.  
  105. ;***** Bit Definitions
  106.  
  107. #define     RAMPZ0     0
  108.  
  109. #define    SRE     7
  110. #define    SRW     6
  111. #define    SE     5
  112. #define    SM1     4
  113. #define    SM0     3
  114.  
  115. #define    XDIVEN     7
  116. #define    XDIV6     6
  117. #define    XDIV5     5
  118. #define    XDIV4     4
  119. #define    XDIV3     3
  120. #define    XDIV2     2
  121. #define    XDIV1     1
  122. #define    XDIV0     0
  123.  
  124. #define    EXTRF     1
  125. #define    PORF     0
  126.  
  127. #define    INT7     7
  128. #define    INT6     6
  129. #define    INT5     5
  130. #define    INT4     4
  131. #define    INT3     3
  132. #define    INT2     2
  133. #define    INT1     1
  134. #define    INT0     0
  135.  
  136. #define    INTF7     7
  137. #define    INTF6     6
  138. #define    INTF5     5
  139. #define    INTF4     4
  140.  
  141. #define    ISC71     7
  142. #define    ISC70     6
  143. #define    ISC61     5
  144. #define    ISC60     4
  145. #define    ISC51     3
  146. #define    ISC50     2
  147. #define    ISC41     1
  148. #define    ISC40     0
  149.  
  150. #define    OCIE2     7
  151. #define    TOIE2     6
  152. #define    TICIE1     5
  153. #define    OCIE1A     4
  154. #define    OCIE1B     3
  155. #define    TOIE1     2
  156. #define    OCIE0     1
  157. #define    TOIE0     0
  158.  
  159. #define    OCF2     7
  160. #define    TOV2     6
  161. #define    ICF1     5
  162. #define    OCF1A     4
  163. #define    OCF1B     3
  164. #define    TOV1     2
  165. #define    OCF0     1
  166. #define    TOV0     0
  167.  
  168. #define    PWM0     6
  169. #define    COM01     5
  170. #define    COM00     4
  171. #define    CTC0     3
  172. #define    CS02     2
  173. #define    CS01     1
  174. #define    CS00     0
  175.  
  176. #define    PWM2     6
  177. #define    COM21     5
  178. #define    COM20     4
  179. #define    CTC2     3
  180. #define    CS22     2
  181. #define    CS21     1
  182. #define    CS20     0
  183.  
  184. #define    AS0     3
  185. #define    TCN0UB     2
  186. #define    OCR0UB     1
  187. #define    TCR0UB     0
  188.  
  189. #define    COM1A1     7
  190. #define    COM1A0     6
  191. #define    COM1B1     5
  192. #define    COM1B0     4
  193. #define    PWM11     1
  194. #define    PWM10     0
  195.  
  196. #define    ICNC1     7
  197. #define    ICES1     6
  198. #define    CTC1     3
  199. #define    CS12     2
  200. #define    CS11     1
  201. #define    CS10     0
  202.  
  203. #define    WDTOE     4
  204. #define    WDE     3
  205. #define    WDP2     2
  206. #define    WDP1     1
  207. #define    WDP0     0
  208.  
  209. #define    EERIE     3
  210. #define    EEMWE     2
  211. #define    EEWE     1
  212. #define    EERE     0
  213.  
  214. #define    PA7     7
  215. #define    PA6     6
  216. #define    PA5     5
  217. #define    PA4     4
  218. #define    PA3     3
  219. #define    PA2     2
  220. #define    PA1     1
  221. #define    PA0     0
  222.  
  223. #define    PINA7     7
  224. #define    PINA6     6
  225. #define    PINA5     5
  226. #define    PINA4     4
  227. #define    PINA3     3
  228. #define    PINA2     2
  229. #define    PINA1     1
  230. #define    PINA0     0
  231.  
  232. #define    DDA7     7
  233. #define    DDA6     6
  234. #define    DDA5     5
  235. #define    DDA4     4
  236. #define    DDA3     3
  237. #define    DDA2     2
  238. #define    DDA1     1
  239. #define    DDA0     0
  240.  
  241. #define    PB7     7
  242. #define    PB6     6
  243. #define    PB5     5
  244. #define    PB4     4
  245. #define    PB3     3
  246. #define    PB2     2
  247. #define    PB1     1
  248. #define    PB0     0
  249.  
  250. #define    DDB7     7
  251. #define    DDB6     6
  252. #define    DDB5     5
  253. #define    DDB4     4
  254. #define    DDB3     3
  255. #define    DDB2     2
  256. #define    DDB1     1
  257. #define    DDB0     0
  258.  
  259. #define    PINB7     7
  260. #define    PINB6     6
  261. #define    PINB5     5
  262. #define    PINB4     4
  263. #define    PINB3     3
  264. #define    PINB2     2
  265. #define    PINB1     1
  266. #define    PINB0     0
  267.  
  268. #define    PC7     7
  269. #define    PC6     6
  270. #define    PC5     5
  271. #define    PC4     4
  272. #define    PC3     3
  273. #define    PC2     2
  274. #define    PC1     1
  275. #define    PC0     0
  276.  
  277. #define    PD7     7
  278. #define    PD6     6
  279. #define    PD5     5
  280. #define    PD4     4
  281. #define    PD3     3
  282. #define    PD2     2
  283. #define    PD1     1
  284. #define    PD0     0
  285.  
  286. #define    DDD7     7
  287. #define    DDD6     6
  288. #define    DDD5     5
  289. #define    DDD4     4
  290. #define    DDD3     3
  291. #define    DDD2     2
  292. #define    DDD1     1
  293. #define    DDD0     0
  294.  
  295. #define    PIND7     7
  296. #define    PIND6     6
  297. #define    PIND5     5
  298. #define    PIND4     4
  299. #define    PIND3     3
  300. #define    PIND2     2
  301. #define    PIND1     1
  302. #define    PIND0     0
  303.  
  304. #define    PE7     7
  305. #define    PE6     6
  306. #define    PE5     5
  307. #define    PE4     4
  308. #define    PE3     3
  309. #define    PE2     2
  310. #define    PE1     1
  311. #define    PE0     0
  312.  
  313. #define    DDE7     7
  314. #define    DDE6     6
  315. #define    DDE5     5
  316. #define    DDE4     4
  317. #define    DDE3     3
  318. #define    DDE2     2
  319. #define    DDE1     1
  320. #define    DDE0     0
  321.  
  322. #define    PINE7     7
  323. #define    PINE6     6
  324. #define    PINE5     5
  325. #define    PINE4     4
  326. #define    PINE3     3
  327. #define    PINE2     2
  328. #define    PINE1     1
  329. #define    PINE0     0
  330.  
  331. #define    PINF7     7
  332. #define    PINF6     6
  333. #define    PINF5     5
  334. #define    PINF4     4
  335. #define    PINF3     3
  336. #define    PINF2     2
  337. #define    PINF1     1
  338. #define    PINF0     0
  339.  
  340. #define    SPIE     7
  341. #define    SPE     6
  342. #define    DORD     5
  343. #define    MSTR     4
  344. #define    CPOL     3
  345. #define    CPHA     2
  346. #define    SPR1     1
  347. #define    SPR0     0
  348.  
  349. #define    SPIF     7
  350. #define    WCOL     6
  351.  
  352. #define    RXC     7
  353. #define    TXC     6
  354. #define    UDRE     5
  355. #define    FE     4
  356. #define    OR     3
  357.  
  358. #define    RXCIE     7
  359. #define    TXCIE     6
  360. #define    UDRIE     5
  361. #define    RXEN     4
  362. #define    TXEN     3
  363. #define    CHR9     2
  364. #define    RXB8     1
  365. #define    TXB8     0
  366.  
  367. #define    ACD     7
  368. #define    ACO     5
  369. #define    ACI     4
  370. #define    ACIE     3
  371. #define    ACIC     2
  372. #define    ACIS1     1
  373. #define    ACIS0     0
  374.  
  375. #define    ADEN     7
  376. #define    ADSC     6
  377. #define    ADFR     5
  378. #define    ADIF     4
  379. #define    ADIE     3
  380. #define    ADPS2     2
  381. #define    ADPS1     1
  382. #define    ADPS0     0
  383.  
  384. #define    MUX2     2
  385. #define    MUX1     1
  386. #define    MUX0     0
  387.  
  388. #define    XL     r26
  389. #define    XH     r27
  390. #define    YL     r28
  391. #define    YH     r29
  392. #define    ZL     r30
  393. #define    ZH     r31
  394.  
  395. #define     RAMEND      $0FFF    ;Last On-Chip SRAM Location
  396. #define    XRAMEND  $FFFF
  397. #define    E2END     $07FF
  398. #define    FLASHEND $7FFF
  399.  
  400. #define    INT0addr $002    ;External Interrupt0 Vector Address
  401. #define    INT1addr $004    ;External Interrupt1 Vector Address
  402. #define    INT2addr $006    ;External Interrupt2 Vector Address
  403. #define    INT3addr $008    ;External Interrupt3 Vector Address
  404. #define    INT4addr $00a    ;External Interrupt4 Vector Address
  405. #define    INT5addr $00c    ;External Interrupt5 Vector Address
  406. #define    INT6addr $00e    ;External Interrupt6 Vector Address
  407. #define    INT7addr $010    ;External Interrupt7 Vector Address
  408. #define    OC2addr  $012    ;Output Compare2 Interrupt Vector Address
  409. #define    OVF2addr $014    ;Overflow2 Interrupt Vector Address
  410. #define    ICP1addr $016    ;Input Capture1 Interrupt Vector Address
  411. #define    OC1Aaddr $018    ;Output Compare1A Interrupt Vector Address
  412. #define    OC1Baddr $01a    ;Output Compare1B Interrupt Vector Address
  413. #define    OVF1addr $01c    ;Overflow1 Interrupt Vector Address
  414. #define    OC0addr  $01e    ;Output Compare0 Interrupt Vector Address
  415. #define    OVF0addr $020    ;Overflow0 Interrupt Vector Address
  416. #define    SPIaddr  $022    ;SPI Interrupt Vector Address
  417. #define    URXCaddr $024    ;UART Receive Complete Interrupt Vector Address
  418. #define    UDREaddr $026    ;UART Data Register Empty Interrupt Vector Address
  419. #define    UTXCaddr $028    ;UART Transmit Complete Interrupt Vector Address
  420. #define    ADCCaddr $02a   ;ADC Conversion Complete Handle
  421. #define    EEWRaddr $02c   ;EEPROM Write Complete Handle
  422. #define    ACIaddr  $02e    ;Analog Comparator Interrupt Vector Address
  423.  
  424.